package cn.iocoder.yudao.hires.entity;

import lombok.*;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 下游-Offer通知 DO
 *
 * @author 超级管理员
 */
@TableName("system_notice_offer")
@KeySequence("system_notice_offer_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class NoticeOfferDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 企业名称(冗余)
     */
    private String companyName;
    /**
     * 职位ID
     */
    private Long positionId;
    /**
     * 职位名称(冗余)
     */
    private String positionName;
    /**
     * 薪资待遇税后
     */
    private String offerSalary;
    /**
     * 薪资待遇税前
     */
    private String befarSalary;
    /**
     * 试用期
     */
    private String trialPeriod;
    /**
     * 工作时间
     */
    private String workTime;
    /**
     * 工作地址
     */
    private String workAddress;
    /**
     * 报到时间
     */
    private LocalDateTime reportTime;
    /**
     * offer类型(1:正式 2:实习)
     */
    private Integer offerType;
    /**
     * 状态(0:待确认 1:已接受 2:已拒绝 3:已取消)
     */
    private Integer status;
    /**
     * offer内容
     */
    private String content;
    /**
     * 附件URL
     */
    private String attachmentUrl;
    /**
     * 是否已读(0:未读 1:已读)
     */
    private Integer isRead;


    // 个人简历基本信息
    @TableField(exist = false)
    private String userName;
    @TableField(exist = false)
    private Integer calculatedAge;
    @TableField(exist = false)
    private Integer age;
    @TableField(exist = false)
    private String workExperienceName;
    @TableField(exist = false)
    private String degree;
    @TableField(exist = false)
    private String orgName;
    @TableField(exist = false)
    private String office;
    //企业信息
    @TableField(exist = false)
    private String logoUrl;
    @TableField(exist = false)
    private String tenantName;
    @TableField(exist = false)
    private String industryName;
    @TableField(exist = false)
    private String companyNatureName;
    @TableField(exist = false)
    private String companyScaleName;
    //职位
    @TableField(exist = false)
    private String title;
    @TableField(exist = false)
    private String educationDictLabel;
    @TableField(exist = false)
    private String salaryDictLabel;
    @TableField(exist = false)
    private String experienceDictLabel;
    @TableField(exist = false)
    private String benefitsDictLabel;
    @TableField(exist = false)
    private String workProvinceName;
    @TableField(exist = false)
    private String contactName;
    @TableField(exist = false)
    private String contactPosition;
    @TableField(exist = false)
    private String contactPhone;
    @TableField(exist = false)
    private String contactEmail;


    /**
     * 职位id
     */
    private Integer positionCategoryId;

    /**
     * 职位名称
     */
    private String positionCategoryName;
}